home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2001 May / maximum-cd-2001-05.iso / Blade of Darkness / data1.cab / Program_Executable_Files / Lib / ScorerActions.py < prev    next >
Encoding:
Text File  |  2000-11-16  |  9.0 KB  |  306 lines

  1.  
  2. import Actions
  3. import Enm_Def
  4. import Reference
  5. import pdb
  6. import Bladex
  7.  
  8.  
  9.  
  10.  
  11. #
  12. #
  13. #
  14.  
  15.  
  16.  
  17. def IncCallBack():
  18.   Reference.debugprint ("IncCallBack: Hola")
  19.  
  20.  
  21. ############
  22.  
  23. def InvChangeLeft(EntityName):
  24.   me=Bladex.GetEntity(EntityName)
  25.   if me.ActiveEnemy:
  26.       me.AddAnmEventFunc("ChangeLEvent",ChangeLEventHandler)
  27.       me.LaunchAnmType("Attack_Chg_l")
  28.   else:
  29.       me.AddAnmEventFunc("ChangeLEvent",ChangeLEventHandler)
  30.       me.LaunchAnmType("Chg_l")
  31.  
  32.  
  33. #PEPET
  34.  
  35. def InvChangeRight(EntityName):
  36.   me=Bladex.GetEntity(EntityName)
  37.   
  38.   #des_weapon_name=inv.GetSelectedWeapon()
  39.   #if Reference.GiveWeaponFlag(des_weapon_name)<>Reference.W_FLAG_1H and me.InvLeft<>"":
  40.  
  41.   if me.ActiveEnemy:
  42.       me.AddAnmEventFunc("ChangeREvent",ChangeREventHandler)
  43.       me.LaunchAnmType("Attack_Chg_r")
  44.   else:
  45.       me.AddAnmEventFunc("ChangeREvent",ChangeREventHandler)
  46.       me.LaunchAnmType("Chg_r")
  47.  
  48.  
  49. def InvChangeRightLeft(EntityName):
  50.   me=Bladex.GetEntity(EntityName)
  51.   if me.ActiveEnemy:
  52.       me.AddAnmEventFunc("ChangeRLEvent",ChangeRLEventHandler)
  53.       me.LaunchAnmType("Attack_Chg_r_l")
  54.   else:
  55.       me.AddAnmEventFunc("ChangeRLEvent",ChangeRLEventHandler)
  56.       me.LaunchAnmType("Chg_r_l")
  57.  
  58.  
  59.  
  60. def ChangeLEventHandler(pj_name,event):
  61.   me=Bladex.GetEntity(pj_name)
  62.   me.DelAnmEventFunc("ChangeLEvent")
  63.   inv=me.GetInventory()
  64.   tmp_lback=me.InvLeftBack
  65.   print    "ChangeLEventHandler"
  66.   des_shield=inv.GetSelectedShield()
  67.   if des_shield:
  68.       if tmp_lback:
  69.           inv.LinkLeftHand("None")
  70.           inv.LinkLeftBack("None")
  71.           inv.LinkLeftBack(des_shield)
  72.       else:
  73.           inv.LinkLeftHand(des_shield)
  74.  
  75.  
  76. def ChangeQuiverHandler(pj_name,event):
  77.     me=Bladex.GetEntity(pj_name)
  78.     me.DelAnmEventFunc("ChangeREvent")
  79.     inv=me.GetInventory()
  80.     # Put back the arrow
  81.     des_quiver_name=inv.GetSelectedQuiver()
  82.     if me.InvRight and Reference.GiveObjectFlag(me.InvRight)==Reference.OBJ_ARROW:
  83.         Actions.SheatheArrow(inv, me.InvRight)
  84.     
  85.     # Change the quiver
  86.     inv.SetCurrentQuiver(des_quiver_name)
  87.     inv.LinkRightBack("None")
  88.     inv.LinkRightBack(des_quiver_name)
  89.     
  90.     # and get a new arrow, if you are carrying the bow...
  91.     if inv.HoldingBow:
  92.         Actions.UnSheatheArrow(inv)
  93.  
  94. def CB_SO_AnmEnd(EntityName):
  95.   me=Bladex.GetEntity(EntityName)
  96.   inv=me.GetInventory()
  97.   
  98.   deal_quivers=0
  99.   des_weapon_name=inv.GetSelectedWeapon()
  100.   if des_weapon_name:
  101.       des_weapon=Bladex.GetEntity(des_weapon_name)
  102.       if Reference.GiveObjectFlag(des_weapon_name)==Reference.OBJ_BOW:
  103.           deal_quivers=1
  104.  
  105.   if deal_quivers:
  106.       if inv.GetSelectedQuiver() != inv.GetActiveQuiver():
  107.           me.AddAnmEventFunc("ChangeREvent",ChangeQuiverHandler)
  108.           me.LaunchAnmType("Chg_r")
  109.   else:
  110.       des_shield=inv.GetSelectedShield()
  111.       if des_shield:
  112.           if des_shield==me.InvLeft or des_shield==me.InvLeftBack:
  113.               return
  114.           if Actions.SthOnBack(EntityName)==1 and me.InvRightBack and not me.InvRight:
  115.               InvChangeRightLeft(EntityName)
  116.           else:
  117.               InvChangeLeft(EntityName)
  118.       else:
  119.           Reference.debugprint("no des_shield")
  120.  
  121.  
  122.  
  123.  
  124. ############
  125.  
  126. def ChangeRLEventHandler(pj_name,event):    
  127.     me=Bladex.GetEntity(pj_name)        
  128.     me.DelAnmEventFunc("ChangeRLEvent")
  129.     inv=me.GetInventory()
  130.     des_weapon_name=inv.GetSelectedWeapon()
  131.     if des_weapon_name: des_weapon=Bladex.GetEntity(des_weapon_name)
  132.     if (me.InvLeft and Reference.GiveObjectFlag(me.InvLeft)==Reference.OBJ_BOW) or (me.InvLeftBack and Reference.GiveObjectFlag(me.InvLeftBack)==Reference.OBJ_BOW):
  133.         if me.InvRight and Reference.GiveObjectFlag(me.InvRight)==Reference.OBJ_ARROW:
  134.             Actions.SheatheArrow(inv, me.InvRight)
  135.     
  136.     if des_weapon_name:
  137.         inv.LinkBack("None")
  138.     
  139.     if des_weapon_name and Reference.GiveObjectFlag(des_weapon_name)==Reference.OBJ_BOW:
  140.         if Actions.StatL(me.Name) == Actions.LA_SHIELD:
  141.             inv.LinkBack("None")
  142.         inv.LinkLeftHand("None")
  143.         inv.LinkLeftHand(des_weapon_name)
  144.         Actions.UnSheatheArrow(inv)
  145.     else:
  146.         tmp_r_flag=Reference.W_FLAG_1H
  147.         if des_weapon_name:
  148.             tmp_r_flag=Reference.GiveWeaponFlag(des_weapon_name)
  149.  
  150.         if tmp_r_flag<>Reference.W_FLAG_1H:
  151.             inv.LinkLeftHand("None")
  152.             inv.LinkRightHand(des_weapon_name)
  153.             return
  154.         else:
  155.             curr_left_name=inv.GetSelectedShield() 
  156.             if curr_left_name:
  157.                 inv.LinkLeftHand(curr_left_name)
  158.             else:
  159.                 inv.LinkLeftHand("None")
  160.             if des_weapon_name:
  161.                 inv.LinkRightHand(des_weapon_name)
  162.             else:
  163.                 inv.LinkRightHand("None")
  164.  
  165.  
  166.  
  167. def ChangeREventHandler(pj_name,event):
  168.     me=Bladex.GetEntity(pj_name)
  169.     me.DelAnmEventFunc("ChangeREvent")
  170.     inv=me.GetInventory()
  171.     des_weapon_name=inv.GetSelectedWeapon()
  172.     if des_weapon_name:
  173.         des_weapon=Bladex.GetEntity(des_weapon_name)
  174.         if Reference.GiveObjectFlag(des_weapon_name)==Reference.OBJ_BOW:
  175.             inv.LinkLeftHand(des_weapon_name)
  176.             des_quiver_name=inv.GetSelectedQuiver()
  177.             if des_quiver_name:
  178.                 inv.LinkRightHand(des_quiver_name)
  179.             else:
  180.                 inv.LinkRightHand("None")
  181.         else:
  182.             inv.LinkRightHand(des_weapon_name)
  183.     inv.LinkBack("None")
  184.  
  185.  
  186.  
  187. def CB_ShieldOutX(EntityName,cycle):      
  188.     me=Bladex.GetEntity(EntityName)
  189.     if me.Wuea==Reference.WUEA_WAIT:
  190.         return
  191.     
  192.     tmp_r_flag=Reference.W_FLAG_1H
  193.     if me.InvRight:
  194.         tmp_r_flag=Reference.GiveWeaponFlag(me.InvRight)
  195.     
  196.     if tmp_r_flag==Reference.W_FLAG_2W or tmp_r_flag==Reference.W_FLAG_AXE or tmp_r_flag==Reference.W_FLAG_SP:
  197.         return 
  198.     
  199.     
  200.     deal_quiver=0
  201.     inv=me.GetInventory()
  202.     des_weapon_name=inv.GetSelectedWeapon()
  203.     if des_weapon_name:
  204.         des_weapon=Bladex.GetEntity(des_weapon_name)
  205.         if Reference.GiveObjectFlag(des_weapon_name)==Reference.OBJ_BOW:
  206.             # Maybe change later to get out a quiver here
  207.             deal_quiver=1
  208.     
  209.     if cycle :
  210.         if deal_quiver:
  211.             inv.CycleQuivers()
  212.         else:
  213.             inv.CycleShields()
  214.     
  215.     if deal_quiver:
  216.         des_quiver=inv.GetSelectedQuiver() 
  217.         if not des_quiver:
  218.             return    
  219.         CB_SO_AnmEnd(EntityName)
  220.     else:
  221.         des_shield=inv.GetSelectedShield()  
  222.         if not des_shield:
  223.             return
  224.         
  225.         if Actions.StatL(me.Name) <> Actions.LA_NO_WEAPON and Actions.StatL(me.Name) <> Actions.LA_SHIELD:
  226.             object= Bladex.GetEntity(me.InvLeft)
  227.             if Actions.StatL(me.Name) <> Actions.LA_NO_WEAPON:
  228.                 if Actions.TryDropLeft(EntityName):
  229.                     Reference.debugprint("CB_ShieldOut. I can    drop it")
  230.                     me.AnmEndedFunc=CB_SO_AnmEnd
  231.         else:
  232.             CB_SO_AnmEnd(EntityName)
  233.     print "CB_ShieldOutX"
  234.  
  235.  
  236.  
  237. def CB_ShieldOut(): 
  238.     CB_ShieldOutX("Player1",0)
  239.  
  240. ############
  241.  
  242.  
  243.  
  244. def CB_WO_AnmEnd(EntityName):
  245.   me=Bladex.GetEntity(EntityName)
  246.   inv=me.GetInventory()
  247.   des_weapon_name=inv.GetSelectedWeapon()
  248.   left_bow=0
  249.   curr_left_name=me.InvLeft
  250.   if curr_left_name:
  251.       curr_left=Bladex.GetEntity(curr_left_name)
  252.       if Reference.GiveObjectFlag(curr_left_name)==Reference.OBJ_BOW:
  253.         left_bow=1
  254.   if des_weapon_name:
  255.       des_weapon=Bladex.GetEntity(des_weapon_name)
  256.       if Reference.GiveObjectFlag(des_weapon_name)==Reference.OBJ_BOW or left_bow:
  257.         if des_weapon_name==me.InvLeft:
  258.             return
  259.         Actions.UnGraspString (EntityName,"UnGraspString")
  260.         InvChangeRightLeft(EntityName)
  261.       else:
  262.         if des_weapon_name==me.InvRight or des_weapon_name==me.InvRightBack:
  263.             return
  264.         if Actions.SthOnBack(EntityName)==1 and me.InvLeftBack:
  265.             InvChangeRightLeft(EntityName)
  266.         else:
  267.             if Reference.GiveWeaponFlag(des_weapon_name)<>Reference.W_FLAG_1H and me.InvLeft<>"":
  268.                 InvChangeRightLeft(EntityName)
  269.             else:
  270.                 InvChangeRight(EntityName)
  271.   else:
  272.       Reference.debugprint("no des_weapon")
  273.  
  274.  
  275. def CB_WeaponOutX(EntityName,cycle=0):
  276.   me=Bladex.GetEntity(EntityName)  
  277.  
  278.   if me.Wuea==Reference.WUEA_WAIT:
  279.       Reference.debugprint("Wait is on . Returning...")
  280.       return 0
  281.   inv=me.GetInventory()
  282.   if cycle :
  283.       inv.CycleWeapons()
  284.       
  285.   des_w=inv.GetSelectedWeapon()
  286.   if not des_w:
  287.       return 1
  288.   
  289.   curr_right_name=me.InvRight
  290.   if des_w==curr_right_name or des_w==me.InvRightBack:
  291.       return 1
  292.  
  293.   #Do I    have to    drop it    ?  
  294.   if Actions.IsRightHandStandardObject(EntityName):
  295.       if Actions.TryDropRight(EntityName):
  296.           Actions.DropReleaseEventHandler(EntityName, "DropRightEvent")
  297.           CB_WO_AnmEnd(EntityName)           
  298.   else:
  299.       CB_WO_AnmEnd(EntityName)  
  300.   return 1
  301.   
  302. def CB_WeaponOut():
  303.   CB_WeaponOutX("Player1",0)
  304. #
  305. #
  306. #